package com.me.myFramework.myAop.aop110.intercept.method;

import com.me.myFramework.myAop.aop110.intercept.Interceptor;

import java.lang.reflect.Method;

/**
 * 自己实现 AOP-110：  <p></p>
 *
 * 描述以方法为切入点的切面拦截器，本质上是一个组合了 advice 的 模板方法
 *
 * @author ME
 * @date 2021/9/26
 */
public interface MethodInterceptor extends Interceptor {

    /**
     * 定义切面执行顺序的模板方法，如：方法执行前的切点
     */
    Object invoke(Method method, Object[] args, Object target) throws Throwable;

}
